package com.example.springbootblog.common.utils;

import com.example.springbootblog.common.pojo.dataobject.BlogInfo;
import com.example.springbootblog.common.pojo.dataobject.UserInfo;
import com.example.springbootblog.common.pojo.request.AddBlogParam;
import com.example.springbootblog.common.pojo.request.RegisterInfoParam;
import com.example.springbootblog.common.pojo.request.UpdateBlogParam;
import com.example.springbootblog.common.pojo.response.BlogInfoResponse;
import com.example.springbootblog.common.pojo.response.UserInfoResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;


@Slf4j
public class BeanConver {
    public static BlogInfoResponse trans(BlogInfo blogInfo) {
        BlogInfoResponse response = new BlogInfoResponse();
//        使用 BeanUtils 进行转化
        BeanUtils.copyProperties(blogInfo,response);
        return response;
    }

    public static BlogInfo trans(AddBlogParam param) {
        BlogInfo blogInfo = new BlogInfo();
//        使用 BeanUtils 进行转化
        BeanUtils.copyProperties(param,blogInfo);
        return blogInfo;
    }

    public  static UserInfoResponse trans(UserInfo userInfo) {
        UserInfoResponse response = new UserInfoResponse();
        BeanUtils.copyProperties(userInfo,response);
        return response;
    }

    public static BlogInfo trans(UpdateBlogParam param) {
        BlogInfo blogInfo = new BlogInfo();
//        使用 BeanUtils 进行转化
        BeanUtils.copyProperties(param,blogInfo);
        return blogInfo;
    }

    public static UserInfo trans(RegisterInfoParam userData) {
        UserInfo userInfo = new UserInfo();
        BeanUtils.copyProperties(userData,userInfo);
        return userInfo;
    }
}
